package org.example.travel_web.dto.comment;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.example.travel_web.enums.Type;
import org.hibernate.validator.constraints.Range;

@Data
public class CommentReq {
    /**
     * 实体类型（如景点或路线）
     */
    @Schema(description = "实体类型（如景点或路线）")
    @NotNull(message = "实体类型不能为空")
    private Type type;
    /**
     * 实体 ID（对应景点或路线的 ID）
     */
    @Schema(description = "实体ID（对应景点或路线的ID）")
    @NotNull(message = "实体ID不能为空")
    private Integer relateId;
    /**
     * 评论内容
     */
    @Schema(description = "评论内容")
    @NotBlank(message = "评论内容不能为空")
    private String content;

    @Schema(description = "评分")
    @NotNull(message = "评分不能为空")
    @Range(min = 1, max = 5, message = "评分范围在1到5之间")
    private Integer rating;
}
